The regular paths just emit ::end, which isn't the whole thing.
This gives an opportunity to gestures that are stolen the sequence
to clean themselves up.
data->state != GTK_EVENT_SEQUENCE_NONE)
return FALSE;
+ if (state == GTK_EVENT_SEQUENCE_DENIED &&
+ data->state == GTK_EVENT_SEQUENCE_CLAIMED)
+ _gtk_gesture_cancel_sequence (gesture, sequence);
+
data->state = state;
gtk_widget_cancel_event_sequence (gtk_event_controller_get_widget (GTK_EVENT_CONTROLLER (gesture)),
gesture, sequence, state);